What is extend-shallow?
The extend-shallow npm package is used to copy the properties of one or more source objects to a target object. It is a utility for shallowly extending the properties of objects without deeply cloning them.
What are extend-shallow's main functionalities?
Shallow extend one object with another
This feature allows you to extend an object by adding properties from another object. The properties are copied over shallowly, meaning that if the property values are objects, they are not deeply cloned.
{"const extend = require('extend-shallow');
const obj1 = { a: 'a' };
const obj2 = { b: 'b' };
const result = extend(obj1, obj2);
// result is { a: 'a', b: 'b' }"}
Shallow extend with multiple source objects
This feature allows you to extend an object with properties from multiple source objects. The last source's properties will overwrite the properties of the same name in previous sources if they exist.
{"const extend = require('extend-shallow');
const obj1 = { a: 'a' };
const obj2 = { b: 'b' };
const obj3 = { c: 'c' };
const result = extend(obj1, obj2, obj3);
// result is { a: 'a', b: 'b', c: 'c' }"}
Other packages similar to extend-shallow
object-assign
The object-assign package is a polyfill for the Object.assign() method, which copies enumerable and own properties from source objects to a target object. It is similar to extend-shallow but is designed to mimic the behavior of the native JavaScript method.
lodash.assign
lodash.assign is a method from the Lodash library that assigns own enumerable properties of source objects to the destination object. It is similar to extend-shallow but comes with the additional utility functions provided by Lodash.
deep-extend
deep-extend is similar to extend-shallow but, as the name suggests, performs a deep extend, meaning that it recursively copies property values that are objects, resulting in a deep clone of the source objects' properties.
extend-shallow
Extend an object with the properties of additional objects. node.js/javascript util.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install
Install with npm:
$ npm install --save extend-shallow
Usage
var extend = require('extend-shallow');
extend({a: 'b'}, {c: 'd'})
Pass an empty object to shallow clone:
var obj = {};
extend(obj, {a: 'b'}, {c: 'd'})
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Building docs
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb
Related projects
You might also be interested in these projects:
- extend-shallow: Extend an object with the properties of additional objects. node.js/javascript util. | homepage
- for-in: Iterate over the own and inherited enumerable properties of an object, and return an object… more | homepage
- for-own: Iterate over the own enumerable properties of an object, and return an object with properties… more | homepage
- is-plain-object: Returns true if an object was created by the
Object
constructor. | homepage - isobject: Returns true if the value is an object and not an array or null. | homepage
- kind-of: Get the native type of a value. | homepage
Contributors
Author
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert.
Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on November 19, 2017.